package com.demo.cms.dao;

import java.util.List;
import java.util.Map;

import com.demo.cms.model.Navi;
import com.demo.core.dao.base.BaseCoreDao;
import com.demo.core.dao.base.support.SearchDaoSupport;

/**
 * CMS导航数据访问接口
 * 
 * @author ryuu.kk
 *
 */
public interface NaviDao extends BaseCoreDao<Navi, Long>, SearchDaoSupport<Navi> {

	/**
	 * 更新导航状态信息
	 * (ENABLED, STATUS)
	 * @param enabled Boolean
	 * @param status 状态
	 * @param params 检索条件信息
	 * @return 成功操作数 
	 */
	int enabled(Boolean enabled, String status, Map<String, Object> params);
	
	/**
	 * 联合查询导航信息(包含角色信息)
	 * @param params 参数Map
	 * @return List<Navi> 导航列表
	 */
	List<Navi> query(Map<String, Object> params);
	
	/**
	 * 查询导航信息树结构
	 * @param params 树节点,深度数组
	 * @return Navi树
	 */
	Navi tree(Map<String, Object> params);
}
